﻿using System;
using System.Collections.Generic;
using System.Text;


namespace MultiConvert
{
    public abstract class MultiConvertApplicationWrapper
    {
        public static MultiConvertApplicationWrapper ApplicationFactory(String application)
        {
            switch(application)
            {
                case "SolidEdge.Application":
                    return new SEApplicationWrapper(); 
                case "Word.Application":
                    return new MSWordWrapper();
                default:
                    throw new ConvertException(String.Format(MultiConvert.Properties.Resources.ExCanNotGetApplicationWrapper,application.ToString()));
            }

        }

        internal Object Application { get; set; }
        internal MultiConvertDocumentConverter Document { get; set; }

        public abstract void ArrangeApplication();
        public abstract void OpenDocument(String fromFile);
        public abstract String ConvertDocument(String convertMethod, String toFileName);
        public abstract void CloseDocuments();
        public abstract void ReArrangeApplication();
    }
}
